home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / CPlusPlus / LinkMgr.xh < prev    next >
Encoding:
Text File  |  1997-02-13  |  6.9 KB  |  296 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: LinkMgr.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxh.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODLinkManager_xh
  18. #define SOM_ODLinkManager_xh
  19.  
  20. class ODLinkManager;
  21.  
  22. #define ODLinkManager_MajorVersion 1
  23. #define ODLinkManager_MinorVersion 0
  24.  
  25. /* C++ SOM defs */
  26. #include <somcls.xh>
  27. #include <somcm.xh>
  28.  
  29. /* C++ parent defs */
  30. #ifndef SOM_ODObject_xh
  31. #include <ODObject.xh>
  32. #endif
  33.  
  34. #ifndef ODLinkManager_API
  35. #define ODLinkManager_API
  36. /*
  37.  * -- The Class API
  38.  */
  39.  
  40. /*
  41.  * Start of user-defined types:
  42.  */
  43. class SOMClass;
  44. class SOMObject;
  45. class ODFrame;
  46. class ODFacet;
  47. class ODObject;
  48. class ODExtension;
  49. class ODRefCntObject;
  50. class ODStorageUnit;
  51. class ODDraft;
  52. class ODSession;
  53. class ODPart;
  54. class ODStorageUnitCursor;
  55. class ODStorageUnitView;
  56. class ODStorageUnitRefIterator;
  57. class ODLinkManager;
  58. class ODDocument;
  59. class ODLink;
  60. class ODLinkSource;
  61. class ODBaseLinkSource;
  62. class ODLinkSpec;
  63.  
  64. /*
  65.  * End of user-defined types.
  66.  */
  67.  
  68. #ifdef OLDIBMSOMAPISUPPORT
  69. #define ODLinkManagerCClassData ODLinkManagerClassData
  70. #define ODLinkManagerNewClass(major,minor) somNewVersionedClassReference(ODLinkManager,major,minor)
  71. #endif
  72.  
  73. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  74. #define ODLinkManagerMetaClass SOMClass
  75.  
  76. #if PRAGMA_ALIGN_SUPPORTED
  77. #  pragma options align=power
  78. #endif
  79.  
  80. /* The API to the ODLinkManager class object, and the methods it introduces. */
  81. SOMEXTERN struct ODLinkManagerClassDataStructure {
  82. #ifdef OLDIBMSOMAPISUPPORT
  83.     SOMClass            *classObject;    /* always zero, use somNewClassReference instead */
  84. #else
  85.     long zero;
  86. #endif
  87.     somStaticClassInfo *sci;
  88.     somDToken        instanceDataToken;
  89.     long reserved [3];
  90.     somMToken NewSectionID;
  91.     somMToken ReserveSectionID;
  92.     somMToken UnsavedExportedLinks;
  93.     somMToken AnyLinkImported;
  94.     somMToken DraftOpened;
  95.     somMToken DraftSaved;
  96.     somMToken DraftClosing;
  97.     somMToken reserved1;
  98.     somMToken reserved2;
  99.     somMToken reserved3;
  100.     somMToken reserved4;
  101.     somMToken reserved5;
  102.     somMToken reserved6;
  103.     somMToken reserved7;
  104.     somMToken reserved8;
  105.     somMToken reserved9;
  106.     somMToken reserved10;
  107.     somMToken reserved11;
  108.     somMToken reserved12;
  109.     somMToken reserved13;
  110. } SOMDLINK ODLinkManagerClassData;
  111.  
  112. #if PRAGMA_ALIGN_SUPPORTED
  113. #  pragma options align=reset
  114. #endif
  115.  
  116. #if !defined(ODLinkManager_Class_Source) && !defined(SOM_Module_linkmgr_Source)
  117. #if PRAGMA_IMPORT_SUPPORTED
  118. #pragma import list ODLinkManagerClassData
  119. #endif
  120. #endif
  121.  
  122.  
  123. /*
  124.  * -- Typedefs and inline method declarations for left path inherited methods
  125.  * -- are omitted because this compilation had -museinheritedmethods in effect
  126.  */
  127.  
  128.  
  129. /*
  130.  * -- Typedefs for ODLinkManager Method Procedures
  131.  */
  132. SOMEXTERN {
  133. typedef ODULong   (* SOMLINK somTD_ODLinkManager_NewSectionID)(ODLinkManager *somSelf, Environment *ev,
  134.         ODDraft* draft);
  135. typedef ODBoolean   (* SOMLINK somTD_ODLinkManager_ReserveSectionID)(ODLinkManager *somSelf, Environment *ev,
  136.         ODULong sectionID,
  137.         ODDraft* draft);
  138. typedef ODBoolean   (* SOMLINK somTD_ODLinkManager_UnsavedExportedLinks)(ODLinkManager *somSelf, Environment *ev,
  139.         ODDraft* draft);
  140. typedef ODBoolean   (* SOMLINK somTD_ODLinkManager_AnyLinkImported)(ODLinkManager *somSelf, Environment *ev,
  141.         ODDraft* draft);
  142. typedef void   (* SOMLINK somTD_ODLinkManager_DraftOpened)(ODLinkManager *somSelf, Environment *ev,
  143.         ODDraft* draft);
  144. typedef void   (* SOMLINK somTD_ODLinkManager_DraftSaved)(ODLinkManager *somSelf, Environment *ev,
  145.         ODDraft* draft);
  146. typedef void   (* SOMLINK somTD_ODLinkManager_DraftClosing)(ODLinkManager *somSelf, Environment *ev,
  147.         ODDraft* draft);
  148. }
  149.  
  150. #endif /* ODLinkManager_API */
  151.  
  152.  
  153. /*
  154.  * -- This emitter treats Method Tokens as Thunks by default.
  155.  * -- Use the sc modifier "nothunks" to change this default
  156.  */
  157. #undef somresolve_
  158. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  159.  
  160. /*
  161.  * -- The C++ Wrapper Class for ODLinkManager
  162.  */
  163. class ODLinkManager : public ODObject
  164. {
  165. public:
  166.  
  167. // ODLinkManager::new registers use of the class object, and then uses somNew
  168. // to allocate memory and load the object method table pointer. 
  169. void *operator new(size_t size)
  170. {
  171.     SOM_IgnoreWarning(size);
  172.     // Allocate memory using the default allocator for ODLinkManager, and
  173.     // clear mem & set method table pointer, call basic initialization
  174. #ifdef SOMCHKNULL
  175.     void * __somResult = (void *)
  176.       somNewObject(ODLinkManager);
  177.     SOMCHKNULL(__somResult);
  178.     return __somResult;
  179. #else
  180.     return (void*) somNewObject(ODLinkManager);
  181. #endif
  182. }
  183.  
  184. // ODLinkManager::delete uses the default deallocator for the object's class.
  185. void operator delete(void * obj)
  186. {
  187.     if (obj) {
  188.         SOM_Resolve(obj,SOMObject,somFree)
  189.            ( (SOMObject*) obj );
  190.     }
  191. }
  192.  
  193. /* method: NewSectionID */
  194. ODULong   NewSectionID(Environment *ev,
  195.         ODDraft* draft)
  196. {
  197.    #ifdef SOMCHKEXCEPT
  198.    ODULong __somResult = 
  199.       SOM_ResolveD(this,ODLinkManager,ODLinkManager,NewSectionID)
  200.     (this,ev,draft);
  201.       SOMCHKEXCEPT;
  202.    return __somResult;
  203. #else
  204.    return SOM_ResolveD(this,ODLinkManager,ODLinkManager,NewSectionID)
  205.     (this,ev,draft);
  206. #endif
  207. }
  208.  
  209. /* method: ReserveSectionID */
  210. ODBoolean   ReserveSectionID(Environment *ev,
  211.         ODULong sectionID,
  212.         ODDraft* draft)
  213. {
  214.    #ifdef SOMCHKEXCEPT
  215.    ODBoolean __somResult = 
  216.       SOM_ResolveD(this,ODLinkManager,ODLinkManager,ReserveSectionID)
  217.     (this,ev,sectionID,draft);
  218.       SOMCHKEXCEPT;
  219.    return __somResult;
  220. #else
  221.    return SOM_ResolveD(this,ODLinkManager,ODLinkManager,ReserveSectionID)
  222.     (this,ev,sectionID,draft);
  223. #endif
  224. }
  225.  
  226. /* method: UnsavedExportedLinks */
  227. ODBoolean   UnsavedExportedLinks(Environment *ev,
  228.         ODDraft* draft)
  229. {
  230.    #ifdef SOMCHKEXCEPT
  231.    ODBoolean __somResult = 
  232.       SOM_ResolveD(this,ODLinkManager,ODLinkManager,UnsavedExportedLinks)
  233.     (this,ev,draft);
  234.       SOMCHKEXCEPT;
  235.    return __somResult;
  236. #else
  237.    return SOM_ResolveD(this,ODLinkManager,ODLinkManager,UnsavedExportedLinks)
  238.     (this,ev,draft);
  239. #endif
  240. }
  241.  
  242. /* method: AnyLinkImported */
  243. ODBoolean   AnyLinkImported(Environment *ev,
  244.         ODDraft* draft)
  245. {
  246.    #ifdef SOMCHKEXCEPT
  247.    ODBoolean __somResult = 
  248.       SOM_ResolveD(this,ODLinkManager,ODLinkManager,AnyLinkImported)
  249.     (this,ev,draft);
  250.       SOMCHKEXCEPT;
  251.    return __somResult;
  252. #else
  253.    return SOM_ResolveD(this,ODLinkManager,ODLinkManager,AnyLinkImported)
  254.     (this,ev,draft);
  255. #endif
  256. }
  257.  
  258. /* method: DraftOpened */
  259. void   DraftOpened(Environment *ev,
  260.         ODDraft* draft)
  261. {
  262.    SOM_ResolveD(this,ODLinkManager,ODLinkManager,DraftOpened)
  263.     (this,ev,draft);
  264. #ifdef SOMCHKEXCEPT
  265.       SOMCHKEXCEPT;
  266. #endif
  267. }
  268.  
  269. /* method: DraftSaved */
  270. void   DraftSaved(Environment *ev,
  271.         ODDraft* draft)
  272. {
  273.    SOM_ResolveD(this,ODLinkManager,ODLinkManager,DraftSaved)
  274.     (this,ev,draft);
  275. #ifdef SOMCHKEXCEPT
  276.       SOMCHKEXCEPT;
  277. #endif
  278. }
  279.  
  280. /* method: DraftClosing */
  281. void   DraftClosing(Environment *ev,
  282.         ODDraft* draft)
  283. {
  284.    SOM_ResolveD(this,ODLinkManager,ODLinkManager,DraftClosing)
  285.     (this,ev,draft);
  286. #ifdef SOMCHKEXCEPT
  287.       SOMCHKEXCEPT;
  288. #endif
  289. }
  290.  
  291. };   /* ODLinkManager */
  292.  
  293.  
  294.  
  295. #endif       /* SOM_ODLinkManager_xh */
  296.